package com.ww.springboot.boot.javabase.returnDemo;

/**
 * 1.如果程序是从try代码块或者catch代码块中返回时，finally中的代码总会执行。而且finally语句在return<语句执行之后return返回之前执行的>
 * 2.如果try和catch的return是一个变量时且函数的是从其中一个返回时，后面finally中语句即使有对返回的变量进行赋值的操作时，也不会影响返回的值
 *
 * @author wanwei
 * @since 2021-02-20 17:20
 */
public class ReturnDemo1 {

    public static void main(String[] args) {

        System.out.println(test1());
    }

    private static Integer test1() {
        Integer a = 1;
        try {
            return ++a;
        } finally {
            System.out.println("------finally:-------"+a);
             ++a;
        }
       //return ++a;
    }
}
